package com.token.sysflow.bean;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import com.token.sql.IntegrateSql;
import com.token.sql.AbstractTableBean;
/**
 * 提交日志
 * @author 代码创建
 */
public class FSysFlowSubmitLog extends AbstractTableBean {

	private int SysId; //租户ID
	private String KeyUnid; //单据关联
	private int ActionType; //操作类型
	private String ActionText; //操作描述
	private String ActionStartTime; //提交时间
	private String ActionUser; //提交人
	private String InParameter; //输入参数
	private String OutParameter; //输出参数
	private String ActionEndTime; //结束时间
	private int Code; //返回代码
	private String FlowNo; //单据号

	public FSysFlowSubmitLog (IntegrateSql f){
		super(f,"F_Sys_FlowSubmitLog");
		this.setKeyName("ActionId");
	}

	public FSysFlowSubmitLog (IntegrateSql f,ResultSet rs) throws SQLException{
		super(f,"F_Sys_FlowSubmitLog");
		this.setKeyName("ActionId");
		this.initParamToRs(rs);
	}

	public FSysFlowSubmitLog (IntegrateSql f,String keyValue) throws SQLException{
		super(f,"F_Sys_FlowSubmitLog");
		this.setKeyName("ActionId");
		setCodePrepare(selectCodeById().toString());
		prepareSql.setPstValue(1, keyValue);
		ResultSet rs = executeQuery();
		if(rs.next()){
			initParamToRs(rs);
		}else{
			initParam();
		}
		rs.close();
	}

	@Override
	protected void initParam() {
		SysId = 0; //租户ID
		KeyUnid = ""; //单据关联
		ActionType = 0; //操作类型
		ActionText = ""; //操作描述
		ActionStartTime = ""; //提交时间
		ActionUser = ""; //提交人
		InParameter = ""; //输入参数
		OutParameter = ""; //输出参数
		ActionEndTime = ""; //结束时间
		Code = 0; //返回代码
		FlowNo = ""; //单据号
	}


	public void initParamToRs(ResultSet rs) throws SQLException{
		SysId = rs.getInt("SysId"); //租户ID
		KeyUnid = rs.getString("KeyUnid"); //单据关联
		ActionType = rs.getInt("ActionType"); //操作类型
		ActionText = rs.getString("ActionText"); //操作描述
		ActionStartTime = rs.getString("ActionStartTime"); //提交时间
		ActionUser = rs.getString("ActionUser"); //提交人
		InParameter = rs.getString("InParameter"); //输入参数
		OutParameter = rs.getString("OutParameter"); //输出参数
		ActionEndTime = rs.getString("ActionEndTime"); //结束时间
		Code = rs.getInt("Code"); //返回代码
		FlowNo = rs.getString("FlowNo"); //单据号
		this.setKeyId(rs.getString("ActionId"));
	}


	@Override
	protected int appendData() throws SQLException {
		int i = 1;
		prepareSql.setPstValue(i++,SysId); //租户ID
		prepareSql.setPstValue(i++,KeyUnid); //单据关联
		prepareSql.setPstValue(i++,ActionType); //操作类型
		prepareSql.setPstValue(i++,ActionText); //操作描述
		prepareSql.setPstValue(i++,ActionStartTime); //提交时间
		prepareSql.setPstValue(i++,ActionUser); //提交人
		prepareSql.setPstValue(i++,InParameter); //输入参数
		prepareSql.setPstValue(i++,OutParameter); //输出参数
		prepareSql.setPstValue(i++,ActionEndTime); //结束时间
		prepareSql.setPstValue(i++,Code); //返回代码
		prepareSql.setPstValue(i++,FlowNo); //单据号
		return i;
	}


	@Override
	public Vector<String> getFields() {
		Vector<String> vec = new Vector<String>();
		vec.addElement("SysId"); //租户ID
		vec.addElement("KeyUnid"); //单据关联
		vec.addElement("ActionType"); //操作类型
		vec.addElement("ActionText"); //操作描述
		vec.addElement("ActionStartTime"); //提交时间
		vec.addElement("ActionUser"); //提交人
		vec.addElement("InParameter"); //输入参数
		vec.addElement("OutParameter"); //输出参数
		vec.addElement("ActionEndTime"); //结束时间
		vec.addElement("Code"); //返回代码
		vec.addElement("FlowNo"); //单据号
		return vec;
	}


	/**
	 * 设置租户ID
	 * @param sysid
	 */
	public void setSysId(int sysid){
		SysId = sysid;
	}
	/**
	 * 获取SysId
	 * @return 租户ID
	 */
	public int getSysId(){
		return SysId;
	}

	/**
	 * 设置单据关联
	 * @param keyunid
	 */
	public void setKeyUnid(String keyunid){
		KeyUnid = keyunid;
	}
	/**
	 * 获取KeyUnid
	 * @return 单据关联
	 */
	public String getKeyUnid(){
		return KeyUnid;
	}

	/**
	 * 设置操作类型
	 * @param actiontype
	 */
	public void setActionType(int actiontype){
		ActionType = actiontype;
	}
	/**
	 * 获取ActionType
	 * @return 操作类型
	 */
	public int getActionType(){
		return ActionType;
	}

	/**
	 * 设置操作描述
	 * @param actiontext
	 */
	public void setActionText(String actiontext){
		ActionText = actiontext;
	}
	/**
	 * 获取ActionText
	 * @return 操作描述
	 */
	public String getActionText(){
		return ActionText;
	}

	/**
	 * 设置提交时间
	 * @param actionstarttime
	 */
	public void setActionStartTime(String actionstarttime){
		ActionStartTime = actionstarttime;
	}
	/**
	 * 获取ActionStartTime
	 * @return 提交时间
	 */
	public String getActionStartTime(){
		return ActionStartTime;
	}

	/**
	 * 设置提交人
	 * @param actionuser
	 */
	public void setActionUser(String actionuser){
		ActionUser = actionuser;
	}
	/**
	 * 获取ActionUser
	 * @return 提交人
	 */
	public String getActionUser(){
		return ActionUser;
	}

	/**
	 * 设置输入参数
	 * @param inparameter
	 */
	public void setInParameter(String inparameter){
		InParameter = inparameter;
	}
	/**
	 * 获取InParameter
	 * @return 输入参数
	 */
	public String getInParameter(){
		return InParameter;
	}

	/**
	 * 设置输出参数
	 * @param outparameter
	 */
	public void setOutParameter(String outparameter){
		OutParameter = outparameter;
	}
	/**
	 * 获取OutParameter
	 * @return 输出参数
	 */
	public String getOutParameter(){
		return OutParameter;
	}

	/**
	 * 设置结束时间
	 * @param actionendtime
	 */
	public void setActionEndTime(String actionendtime){
		ActionEndTime = actionendtime;
	}
	/**
	 * 获取ActionEndTime
	 * @return 结束时间
	 */
	public String getActionEndTime(){
		return ActionEndTime;
	}

	/**
	 * 设置返回代码
	 * @param code
	 */
	public void setCode(int code){
		Code = code;
	}
	/**
	 * 获取Code
	 * @return 返回代码
	 */
	public int getCode(){
		return Code;
	}

	/**
	 * 设置单据号
	 * @param flowno
	 */
	public void setFlowNo(String flowno){
		FlowNo = flowno;
	}
	/**
	 * 获取FlowNo
	 * @return 单据号
	 */
	public String getFlowNo(){
		return FlowNo;
	}

}
